package logica;

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class GraficoTarta extends JFrame {

    private JPanel contentPane;
    private JTextField tf1;
    private JTextField tf2;
    private JTextField tf3;
    private JTextField tf4;
    private JTextField tf5;
    private JTextField tf6;
    private boolean bandera = false;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    GraficoTarta frame = new GraficoTarta();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public GraficoTarta() {
        setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
        setBounds(100, 100, 800, 600);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        JLabel lblPartido = new JLabel("Partido 1:");
        lblPartido.setBounds(46, 39, 61, 14);
        contentPane.add(lblPartido);

        JLabel lblPartido_1 = new JLabel("Partido 2:");
        lblPartido_1.setBounds(46, 69, 61, 14);
        contentPane.add(lblPartido_1);

        JLabel lblPartido_2 = new JLabel("Partido 3:");
        lblPartido_2.setBounds(46, 103, 61, 14);
        contentPane.add(lblPartido_2);

        JLabel lblPartido_4 = new JLabel("Partido 4:");
        lblPartido_4.setBounds(46, 127, 61, 14);
        contentPane.add(lblPartido_4);
        
        JLabel lblPartido_5 = new JLabel("Partido 5:");
        lblPartido_5.setBounds(46, 160, 61, 14);
        contentPane.add(lblPartido_5);
        
         JLabel lblPartido_6 = new JLabel("Partido 6:");
        lblPartido_6.setBounds(46, 190, 61, 14);
        contentPane.add(lblPartido_6);

        tf1 = new JTextField();
        tf1.setBounds(117, 36, 86, 20);
        contentPane.add(tf1);
        tf1.setColumns(10);

        tf2 = new JTextField();
        tf2.setBounds(117, 66, 86, 20);
        contentPane.add(tf2);
        tf2.setColumns(10);

        tf3 = new JTextField();
        tf3.setBounds(117, 97, 86, 20);
        contentPane.add(tf3);
        tf3.setColumns(10);

        tf4 = new JTextField();
        tf4.setBounds(117, 127, 86, 20);
        contentPane.add(tf4);
        tf4.setColumns(10);
        
        tf5 = new JTextField();
        tf5.setBounds(117, 160, 86, 20);
        contentPane.add(tf5);
        tf5.setColumns(10);
        
        tf6 = new JTextField();
        tf6.setBounds(117, 190, 86, 20);
        contentPane.add(tf6);
        tf6.setColumns(10);

        JButton btnGraficar = new JButton("Graficar");
        btnGraficar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                bandera = true;
                repaint();
            }
        });
        btnGraficar.setBounds(345, 158, 107, 37);
        contentPane.add(btnGraficar);
    }

    public void paint(Graphics g) {
        super.paint(g);
        if (bandera == true) {
            String s1 = tf1.getText();
            String s2 = tf2.getText();
            String s3 = tf3.getText();
            String s4 = tf4.getText();
            String s5 = tf5.getText();
            String s6 = tf6.getText();
            int v1 = Integer.parseInt(s1);
            int v2 = Integer.parseInt(s2);
            int v3 = Integer.parseInt(s3);
            int v4 = Integer.parseInt(s4);
            int v5 = Integer.parseInt(s5);
            int v6 = Integer.parseInt(s6);
            int suma = v1 + v2 + v3 + v4 + v5 + v6;
            int grados1 = v1 * 360 / suma;
            int grados2 = v2 * 360 / suma;
            int grados3 = v3 * 360 / suma;
            int grados4 = v4 * 360 / suma;
            int grados5 = v5 * 360 / suma;
            int grados6 = v6 * 360 / suma;

            g.setColor(new Color(255, 0, 0));
            g.fillArc(50, 250, 200, 200, 0, grados1);
            g.fillRect(370, 250, 20, 20);
            g.drawString("Partido 1", 400, 270);

            g.setColor(new Color(0, 128, 0));
            g.fillArc(50, 250, 200, 200, grados1, grados2);
            g.fillRect(370, 280, 20, 20);
            g.drawString("Partido 2", 400, 300);

            g.setColor(new Color(0, 0, 255));
            g.fillArc(50, 250, 200, 200, grados1 + grados2, grados3);
            g.fillRect(370, 310, 20, 20);
            g.drawString("Partido 3", 400, 330);

            g.setColor(new Color(255, 255, 0));
            g.fillArc(50, 250, 200, 200, grados1 + grados2 + grados3, grados4);
            g.fillRect(370, 340, 20, 20);
            g.drawString("Partido 4", 400, 360);
            
            g.setColor(new Color(0, 255, 0));
            g.fillArc(50, 250, 200, 200, grados1 + grados2 + grados3 + grados4, grados5 );
            g.fillRect(370, 370, 20, 20);
            g.drawString("Partido 5", 400, 390);
            
            g.setColor(new Color(255, 0, 255));
            g.fillArc(50, 250, 200, 200, grados1 + grados2 + grados3 + grados4 + grados5, grados6);
            g.fillRect(370, 400, 20, 20);
            g.drawString("Partido 6", 400, 420);
        }
    }
}